import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import json from '@rollup/plugin-json';
import fs from 'fs';

export default {
    input: 'src/common/common_flutter.js',
    output: {
        file: 'dist/crawler.template.js',
        format: 'es',
        name: 'myModule'
    },
    // external: ['iconv-lite', 'buffer'],
    plugins: [resolve(), commonjs(), json(), {
        name: 'afterBuild',
        writeBundle() {
            const filePath = 'dist/crawler.template.js';
            // 读取打包后的文件
            fs.readFile(filePath, 'utf8', (err, data) => {
                if (err) {
                    console.error(err);
                    return;
                }

                let modifiedData = data
                    .replace(/fetch\(/g, 'fetchTextContent(') // 使用正则表达式将 'fetch(' 替换为 'fetchTextContent('
                    .replace(/window\.myModule\s*=\s*{[^}]+};?/g, ''); // 使用正则表达式删除 window.myModule 后面的内容
                // .replace(/export\s*{\s*[^{}]*\s*};?/g, '');
                // .replace(/import\s+[^;]+;/g, '');

                // 删除后面的空行
                modifiedData = modifiedData.trim();
                // 将修改后的内容写回文件
                fs.writeFile(filePath, modifiedData, 'utf8', (err) => {
                    if (err) {
                        console.error(err);
                        return;
                    }
                    console.log('文件修改完毕。');
                });
            });
        }
    }]
};